#pragma once
#include "headers.h"

// 直接对应数据库
typedef struct user_m_s{
	int id;
	char name[255];
	char salt[255];
	char passwd[255];
	int last_dir_id;
	int is_deleted;
}USER_M;

// 返回-1表示参数不正确,1是系统失败，不符合表约束、初始失败等

// 无passwd,单一user，conn 连接，id是user_7th表id列,user是返回的结果
int selectUserByid(MYSQL *conn,int id,USER_M *user);

// 无passwd,单一user
int selectUserByName(MYSQL *conn,char name[],USER_M *user);

int verifyUser(MYSQL *conn,const USER_M *user,int *last_dir);

// 插入新用户,user是传入的数据，必需字段有name salt passwd;
int insertUser(MYSQL *conn,const USER_M *user,int *user_id);


int deleteUser(MYSQL *conn,const USER_M *user);


// 附加
int updatePasswd(MYSQL *conn,const USER_M *user,char newsalt,char newpasswd[]);

// 通过主键id更新对应用户的的last_dir_id字段,为new_dir_id(要求是dir_7th的主键id的值）
int updateLastDir_idByid(MYSQL *conn,int id,int new_dir_id);


int updateLastDir_idByName(MYSQL *conn,char name[],int last_dir_id);

